package com.qyhl.webtv.module_circle.circle.add;


import com.qyhl.webtv.commonlib.entity.circle.CircleHomeBean;
import com.qyhl.webtv.commonlib.entity.UpTokenBean;
import com.qyhl.webtv.commonlib.entity.act.UploadBean;
import com.qyhl.webtv.commonlib.entity.intergral.CoinBean;

import java.util.HashMap;
import java.util.List;

/**
 * Created by helin on 2018/1/24.
 */

public class AddCircleContract {


    interface AddCircleView {

        /**
         * 获取标签失败
         */
        void getTagError();

        /**
         * 获取标签成功
         *
         * @param data
         */
        void getTagSuccess(List<CircleHomeBean.TagList> data);

        /**
         * 提交失败
         */
        void postError(String msg);

        /**
         * 提交成功
         */
        void postSuccess(int topicId);

        /**
         * 获取token失败
         */
        void getTokenError();

        /**
         * 获取token成功
         *
         * @param data
         * @param isUp
         */
        void getTokenSuccess(UpTokenBean data, boolean isUp);

        void setCheckType(int typeId, boolean isUp);

        void getCoinSuccess(CoinBean bean);

        void getCoinFailure(String msg);

    }

    interface AddCircleModel {
        /**
         * 获取标签
         */
        void getTagList();

        /**
         * 发送数据
         *
         * @param params
         */
        void postData(HashMap<String, String> params);

        void getUpToken(boolean isUp);

        void getCheckType(boolean isUp);

        void getCoin(String username);

    }

    interface AddCirclePresenter {
        /**
         * 获取失败
         */
        void getTagError();

        /**
         * 获取标签成功
         *
         * @param data
         */
        void getTagSuccess(List<CircleHomeBean.TagList> data);

        /**
         * 上传失败
         */
        void postError(String msg);

        /**
         * 上传成功
         */
        void postSuccess(int topicId);

        /**
         * 获取标签
         */
        void getTagList();

        /**
         * 发送数据
         */
        void postData(HashMap<String, String> data);

        /**
         * 获取token失败
         */
        void getTokenError();

        /**
         * 获取token成功
         *
         * @param data
         */
        void getTokenSuccess(UpTokenBean data, boolean isUp);

        /**
         * 包装数据
         */
        void combinationData(String content, String tagIds, String postion, int type, List<UploadBean> files);

        /**
         * 获取token
         */
        void getToken();

        void postData(String content, StringBuffer tagIds, String postionStr, int i);

        /**
         * 发送视频数据
         *
         * @param content
         * @param s
         * @param postionStr
         * @param i
         * @param files
         */
        void combinationVideoData(String content, String s, String postionStr, int i, List<UploadBean> files);

        void getCheckType(boolean isUp);

        void setCheckType(int typeId, boolean isUp);

        void getCoin(String username);

        void getCoinSuccess(CoinBean bean);

        void getCoinFailure(String msg);

    }


}
